
<!DOCTYPE HTML>
<html lang="zh-hans" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>5.4 持久化卷 · Kubernetes - 痴者工良</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        <meta name="author" content="痴者工良">
        
        
    
    
    <link rel="stylesheet" href="../gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-tbfed-pagefooter/footer.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-anchor-navigation-ex/style/plugin.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-mermaid-gb3/mermaid/mermaid.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-insert-logo/plugin.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-chapter-fold/chapter-fold.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-advanced-emoji/emoji-website.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-splitter/splitter.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-alerts/style.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    


    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="../6.api_safe/" />
    
    
    <link rel="prev" href="3.nfts.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="输入并搜索" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    
    
        
        <li>
            <a href="https://www.whuanle.cn" target="_blank" class="custom-link">痴者工良的博客</a>
        </li>
    
    

    
    <li class="divider"></li>
    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="../">
            
                <a href="../">
            
                    
                    文档说明
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2" data-path="../1.basic/">
            
                <a href="../1.basic/">
            
                    
                    1.基础知识
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.1" data-path="../1.basic/">
            
                <a href="../1.basic/">
            
                    
                    导读
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.2" data-path="../1.basic/1.docker.html">
            
                <a href="../1.basic/1.docker.html">
            
                    
                    1.1 说透 Docker：基础
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.3" data-path="../1.basic/2.virtual.html">
            
                <a href="../1.basic/2.virtual.html">
            
                    
                    1.2 说透 Docker： 虚拟化
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.4" data-path="../1.basic/3.docker_network.html">
            
                <a href="../1.basic/3.docker_network.html">
            
                    
                    1.3 了解 Docker 网络
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.5" data-path="../1.basic/4.pod_docker.html">
            
                <a href="../1.basic/4.pod_docker.html">
            
                    
                    1.4 Docker 和 Pod
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.6" data-path="../1.basic/5.k8s.html">
            
                <a href="../1.basic/5.k8s.html">
            
                    
                    1.5 K8S入门基础
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.3" data-path="../2.deploy/">
            
                <a href="../2.deploy/">
            
                    
                    2.部署和配置
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.3.1" data-path="../2.deploy/2.deploy.md">
            
                <span>
            
                    
                    导读
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.2" data-path="../2.deploy/1.minikube.html">
            
                <a href="../2.deploy/1.minikube.html">
            
                    
                    2.1 使用 Minikube 部署
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.3" data-path="../2.deploy/2.kubeadm.html">
            
                <a href="../2.deploy/2.kubeadm.html">
            
                    
                    2.2 使用 kubeadm 部署
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.4" data-path="../2.deploy/3.kubeadm_ckad.html">
            
                <a href="../2.deploy/3.kubeadm_ckad.html">
            
                    
                    2.3 CKAD认证中的部署教程
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.5" data-path="../2.deploy/4.kubeadm_proxy.html">
            
                <a href="../2.deploy/4.kubeadm_proxy.html">
            
                    
                    2.4 国内代理
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.6" data-path="../2.deploy/5.dashboard.html">
            
                <a href="../2.deploy/5.dashboard.html">
            
                    
                    2.5 Dashboard
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4" data-path="../3.pod/">
            
                <a href="../3.pod/">
            
                    
                    3.Pod部署和调度
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.1" data-path="../3.pod/">
            
                <a href="../3.pod/">
            
                    
                    导读
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.2" data-path="../3.pod/1.pod.html">
            
                <a href="../3.pod/1.pod.html">
            
                    
                    3.1 Pod
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.3" data-path="../3.pod/2.deployment.html">
            
                <a href="../3.pod/2.deployment.html">
            
                    
                    3.2 Deployment部署
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4" data-path="../3.pod/3.replica.html">
            
                <a href="../3.pod/3.replica.html">
            
                    
                    3.3 副本集(ReplicaSet)
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5" data-path="../3.pod/4.pod_network.html">
            
                <a href="../3.pod/4.pod_network.html">
            
                    
                    3.34 Pod 端口映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.6" data-path="../3.pod/5.update.html">
            
                <a href="../3.pod/5.update.html">
            
                    
                    3.5 Pod 升级、回滚
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.7" data-path="../3.pod/6.scale.html">
            
                <a href="../3.pod/6.scale.html">
            
                    
                    3.6 Pod 缩放
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.8" data-path="../3.pod/7.lable.html">
            
                <a href="../3.pod/7.lable.html">
            
                    
                    3.7.Pod 标签
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.9" data-path="../3.pod/8.schedule.html">
            
                <a href="../3.pod/8.schedule.html">
            
                    
                    3.8 Pod 调度
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.10" data-path="../3.pod/9.jobs_cronjobs.html">
            
                <a href="../3.pod/9.jobs_cronjobs.html">
            
                    
                    3.9 Jobs、CronJobs
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.5" data-path="../4.network/">
            
                <a href="../4.network/">
            
                    
                    4.Kubernetes 网络
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.5.1" data-path="../4.network/">
            
                <a href="../4.network/">
            
                    
                    导读
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2" data-path="../4.network/1.network.html">
            
                <a href="../4.network/1.network.html">
            
                    
                    4.1 Kubernetes 网络
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.3" data-path="../4.network/2.endpoint.html">
            
                <a href="../4.network/2.endpoint.html">
            
                    
                    4.2 Endpoint
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.4" data-path="../4.network/3.ingress.html">
            
                <a href="../4.network/3.ingress.html">
            
                    
                    4.3 ingress
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.5" data-path="../4.network/4.discovery.html">
            
                <a href="../4.network/4.discovery.html">
            
                    
                    4.4 服务发现
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.6" data-path="./">
            
                <a href="./">
            
                    
                    5.volumes
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.6.1" data-path="./">
            
                <a href="./">
            
                    
                    导读
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.2" data-path="1.volumes.html">
            
                <a href="1.volumes.html">
            
                    
                    5.1 卷
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.3" data-path="2.secret_configmap.html">
            
                <a href="2.secret_configmap.html">
            
                    
                    5.2 secret 和 ConfigMap 卷
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.4" data-path="3.nfts.html">
            
                <a href="3.nfts.html">
            
                    
                    5.3 NFS卷
            
                </a>
            

            
        </li>
    
        <li class="chapter active" data-level="1.6.5" data-path="4.pv_pvc.html">
            
                <a href="4.pv_pvc.html">
            
                    
                    5.4 持久化卷
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.7" data-path="../6.api_safe/">
            
                <a href="../6.api_safe/">
            
                    
                    6.API 和 安全
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.7.1" data-path="../6.api_safe/">
            
                <a href="../6.api_safe/">
            
                    
                    导读
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.8" data-path="../7.health/">
            
                <a href="../7.health/">
            
                    
                    7.维护和故障排除
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.8.1" data-path="../8.health/README.md">
            
                <span>
            
                    
                    导读
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.9" data-path="../k8s.html">
            
                <a href="../k8s.html">
            
                    
                    Kubernetes 命令概览
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10" data-path="../ckad.html">
            
                <a href="../ckad.html">
            
                    
                    CKAD 认证帮助
            
                </a>
            

            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            本书使用 GitBook 发布
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href=".." >5.4 持久化卷</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <div id="anchor-navigation-ex-navbar"><i class="fa fa-navicon"></i><ul><li><span class="title-icon "></span><a href="#53-&#x6301;&#x4E45;&#x5377;"><b></b>5.3 &#x6301;&#x4E45;&#x5377;</a></li><ul><li><span class="title-icon "></span><a href="#&#x6301;&#x4E45;&#x5377;&#x548C;&#x6301;&#x4E45;&#x5377;&#x58F0;&#x660E;"><b></b>&#x6301;&#x4E45;&#x5377;&#x548C;&#x6301;&#x4E45;&#x5377;&#x58F0;&#x660E;</a></li><ul><li><span class="title-icon "></span><a href="#&#x521B;&#x5EFA;&#x8FDC;&#x7A0B;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;"><b></b>&#x521B;&#x5EFA;&#x8FDC;&#x7A0B;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;</a></li><li><span class="title-icon "></span><a href="#&#x521B;&#x5EFA;&#x5377;"><b></b>&#x521B;&#x5EFA;&#x5377;</a></li><li><span class="title-icon "></span><a href="#&#x521B;&#x5EFA;-pvc"><b></b>&#x521B;&#x5EFA; PVC</a></li><li><span class="title-icon "></span><a href="#&#x5728;-pod-&#x4E2D;&#x4F7F;&#x7528;&#x5377;"><b></b>&#x5728; Pod &#x4E2D;&#x4F7F;&#x7528;&#x5377;</a></li><li><span class="title-icon "></span><a href="#storageclass"><b></b>StorageClass</a></li><li><span class="title-icon "></span><a href="#&#x5176;&#x4ED6;&#x7C7B;&#x578B;&#x7684;-pv-&#x5377;"><b></b>&#x5176;&#x4ED6;&#x7C7B;&#x578B;&#x7684; PV &#x5377;</a></li></ul></ul></ul></div><h1 id="53-&#x6301;&#x4E45;&#x5377;"><a name="53-&#x6301;&#x4E45;&#x5377;" class="anchor-navigation-ex-anchor" href="#53-&#x6301;&#x4E45;&#x5377;"><i class="fa fa-link" aria-hidden="true"></i></a>5.3 &#x6301;&#x4E45;&#x5377;</h1>
<p>&#x5F00;&#x95E8;&#x89C1;&#x5C71;&#xFF0C;PV&#x3001;PVC &#x5C06;&#x5B58;&#x50A8;&#x5377;&#x5206;&#x4E3A;&#x5B9E;&#x9645;&#x5377;&#x548C;&#x58F0;&#x660E;&#x5377;&#x4E24;&#x90E8;&#x5206;&#xFF0C;&#x9762;&#x5411;&#x5BF9;&#x8C61;&#x8BED;&#x8A00;&#x4E2D;&#x5C06;&#x62BD;&#x8C61;&#x90E8;&#x5206;&#x5199;&#x6210;&#x63A5;&#x53E3;&#xFF0C;&#x5C06;&#x5B9E;&#x73B0;&#x90E8;&#x5206;&#x5199;&#x6210;&#x7C7B;&#x3002;&#x5927;&#x6982;&#x8FC7;&#x7A0B;&#x662F;&#x8FD9;&#x6837;&#x7684;&#xFF0C;&#x8FD0;&#x7EF4;&#x4EBA;&#x5458;&#x53EF;&#x4EE5;&#x5C06;&#x5B9E;&#x9645;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;&#x521B;&#x5EFA;&#x4E3A;&#x5377;&#xFF0C;&#x5373; PV&#xFF0C;&#x6BCF;&#x4E2A;&#x5377;&#x90FD;&#x6709;&#x5176;&#x7A7A;&#x95F4;&#x5BB9;&#x91CF;&#x3001;&#x8BBF;&#x95EE;&#x6743;&#x9650;&#xFF0C;&#x8FD9;&#x4E9B;&#x5377;&#x521B;&#x5EFA;&#x540E;&#x4F1A;&#x63D0;&#x4EA4;&#x7ED9; Kubernetes &#xFF0C;&#x5E76;&#x8BB0;&#x5F55;&#x4E0B;&#x6765;&#x3002;&#x5F00;&#x53D1;&#x4EBA;&#x5458;&#x53EF;&#x4EE5;&#x5728;&#x7A0B;&#x5E8F;&#x4E2D;&#x4F7F;&#x7528;&#x5377;&#xFF0C;&#x4F46;&#x662F;&#x5F00;&#x53D1;&#x4EBA;&#x5458;&#x4E0D;&#x77E5;&#x9053;&#x3001;&#x4E5F;&#x4E0D;&#x80FD;&#x6307;&#x5B9A;&#x54EA;&#x4E2A;&#x5377;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#xFF0C;&#x90E8;&#x7F72;&#x5E94;&#x7528;&#x65F6;&#xFF0C;&#x7F16;&#x5199; PVC&#xFF0C;&#x5B9A;&#x4E49;&#x4E86;&#x6B64;&#x7A0B;&#x5E8F;&#x9700;&#x8981;&#x591A;&#x5C11;&#x5BB9;&#x91CF;&#x7684;&#x5377;&#xFF0C;&#x63A5;&#x7740;&#x4F1A;&#x5411; Kubernetes &#x53D1;&#x51FA;&#x8BF7;&#x6C42;&#x8981;&#x4F7F;&#x7528;&#x5377;&#xFF0C;&#x4F8B;&#x5982;&#x9700;&#x8981; 2GB &#x7684;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;&#xFF0C;&#x7136;&#x540E; Kubernetes &#x67E5;&#x627E;&#x7B26;&#x5408;&#x8981;&#x6C42;&#x7684; PV&#xFF0C;&#x5E76;&#x5C06; PVC &#x548C; PV &#x7ED1;&#x5B9A;&#x8D77;&#x6765;&#x3002;PV &#x548C; PVC &#x4E24;&#x4E2A;&#x79F0;&#x4E3A; &#x6301;&#x4E45;&#x5377;&#x548C;&#x6301;&#x4E45;&#x5377;&#x58F0;&#x660E;&#x3002;</p>
<p>&#x5728;&#x672C;&#x7AE0;&#x4E2D;&#xFF0C;&#x9700;&#x8981;&#x6839;&#x636E;&#x4E0A;&#x4E00;&#x7AE0;&#x5B89;&#x88C5;&#x597D;&#x7684; NFS Server &#x548C; Client &#x6765;&#x505A;&#x5B9E;&#x9A8C;&#xFF0C;&#x8BF7;&#x8BFB;&#x8005;&#x63D0;&#x524D;&#x642D;&#x5EFA;&#x597D;&#x73AF;&#x5883;&#x3002;</p>
<h2 id="&#x6301;&#x4E45;&#x5377;&#x548C;&#x6301;&#x4E45;&#x5377;&#x58F0;&#x660E;"><a name="&#x6301;&#x4E45;&#x5377;&#x548C;&#x6301;&#x4E45;&#x5377;&#x58F0;&#x660E;" class="anchor-navigation-ex-anchor" href="#&#x6301;&#x4E45;&#x5377;&#x548C;&#x6301;&#x4E45;&#x5377;&#x58F0;&#x660E;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x6301;&#x4E45;&#x5377;&#x548C;&#x6301;&#x4E45;&#x5377;&#x58F0;&#x660E;</h2>
<p>&#x5982;&#x679C; Pod &#x672C;&#x8EAB;&#x6CA1;&#x6709;&#x4EC0;&#x4E48;&#x5B58;&#x50A8;&#x8981;&#x6C42;&#xFF0C;&#x90A3;&#x4E48; Pod &#x505A;&#x6210;&#x65E0;&#x72B6;&#x6001;&#x662F;&#x5F88;&#x5BB9;&#x6613;&#x7684;&#xFF0C;&#x4F46;&#x662F;&#x5B9E;&#x9645;&#x4E0A; Pod &#x9700;&#x8981;&#x4F7F;&#x7528; Redis&#x3001;Mysql &#x7B49;&#x5B58;&#x50A8;&#x6570;&#x636E;&#xFF0C;&#x8FD9;&#x662F;&#x65E5;&#x5E38;&#x5F00;&#x53D1;&#x4E2D;&#x5FC5;&#x4E0D;&#x53EF;&#x5C11;&#x7684;&#xFF0C;&#x5982;&#x679C;&#x6709; N &#x4E2A;&#x8282;&#x70B9;&#xFF0C;1 &#x4E2A; Mysql &#x5B9E;&#x4F8B;&#x4E0D;&#x591F;&#x7528;&#x4E86;&#xFF0C;&#x9700;&#x8981;&#x90E8;&#x7F72; M &#x4E2A; Mysql &#x670D;&#x52A1;&#xFF0C;&#x6B64;&#x65F6;&#x8FD9; M &#x4E2A; Mysql &#x5B9E;&#x4F8B;&#xFF0C;&#x5FC5;&#x987B;&#x4FDD;&#x8BC1;&#x6570;&#x636E;&#x5B8C;&#x5168;&#x4E00;&#x81F4;&#xFF0C;&#x5426;&#x5219;&#x77ED;&#x65F6;&#x95F4;&#x8BF7;&#x6C42; Mysql &#x670D;&#x52A1;&#x5F97;&#x5230;&#x7684;&#x6570;&#x636E;&#x53EF;&#x80FD;&#x4E0D;&#x4E00;&#x6837;&#x3002;&#x4E0D;&#x8FC7;&#x95EE;&#x9898;&#x4E5F;&#x4E0D;&#x5927;&#xFF0C;&#x56E0;&#x4E3A; Pod &#x4EEC;&#x4F7F;&#x7528;&#x4E86;&#x540C;&#x4E00;&#x4E2A; Mysql &#x96C6;&#x7FA4;&#xFF0C;&#x53EA;&#x8981;&#x89E3;&#x51B3; Mysql &#x591A;&#x8282;&#x70B9;&#x7684; &#x4E00;&#x81F4;&#x6027;&#x95EE;&#x9898;&#xFF0C;&#x5BF9; Pod &#x6765;&#x8BF4;&#x5C31;&#x53EF;&#x4EE5;&#x4FDD;&#x6301;&#x4E00;&#x81F4;&#x6027;&#x3002;</p>
<p>&#x4F46;&#x662F;&#x5BF9;&#x4E8E;&#x5B58;&#x50A8;&#x6765;&#x8BF4;&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x65B9;&#x6CD5;&#x50CF; Mysql &#x4E00;&#x6837;&#x5B58;&#x50A8; Pod &#x7684;&#x6587;&#x4EF6;&#xFF0C;&#x90A3;&#x4E48; Pod &#x53EA;&#x80FD;&#x5728;&#x8282;&#x70B9;&#x7684;&#x5B58;&#x50A8;&#x5668;&#x4E2D;&#x8BFB;&#x5199;&#x6587;&#x4EF6;&#x5185;&#x5BB9;&#xFF0C;&#x800C;&#x6BCF;&#x4E2A;&#x8282;&#x70B9;&#x7684;&#x6587;&#x4EF6;&#x7CFB;&#x7EDF;&#x548C;&#x78C1;&#x76D8;&#x662F;&#x4E0D;&#x80FD;&#x5171;&#x7528;&#xFF0C;&#x5B83;&#x4EEC;&#x5B58;&#x50A8;&#x7684;&#x5185;&#x5BB9;&#x4E0D;&#x4F1A;&#x81EA;&#x52A8;&#x5408;&#x5728;&#x4E00;&#x8D77;&#xFF0C;&#x90A3;&#x4E48;&#x6BCF;&#x4E2A; Pod &#x5C31;&#x4F1A;&#x4EA7;&#x751F;&#x5DEE;&#x5F02;&#x6027;&#x3002;&#x4F8B;&#x5982;&#x7528;&#x6237;&#x4E0A;&#x4F20;&#x6587;&#x4EF6;&#x5230;&#x5E94;&#x7528;&#x4E2D;&#xFF0C;&#x5982;&#x679C;&#x76F4;&#x63A5;&#x5B58;&#x50A8;&#x5230;&#x672C;&#x5730;&#x65F6;&#xFF0C;&#x8FD9;&#x4E2A;&#x6587;&#x4EF6;&#x5728;&#x5176;&#x4ED6;&#x8282;&#x70B9;&#x4E0D;&#x5B58;&#x5728;&#xFF0C;&#x5982;&#x679C;&#x7528;&#x6237;&#x53D6;&#x6587;&#x4EF6;&#x65F6;&#xFF0C;&#x8BBF;&#x95EE;&#x7684; Pod &#x4E0D;&#x662F;&#x4E0A;&#x6B21;&#x4E0A;&#x4F20;&#x6587;&#x4EF6;&#x7684; Pod&#xFF0C;&#x90A3;&#x4E48;&#x4FBF;&#x53D6;&#x4E0D;&#x5230;&#x6587;&#x4EF6;&#x3002;&#x5F53;&#x7136;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;&#x5BF9;&#x8C61;&#x5B58;&#x50A8;&#x89E3;&#x51B3;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; NFS &#x6216;&#x8005;&#x5404;&#x5927;&#x4E91;&#x5382;&#x5546;&#x7684;&#x4E91;&#x786C;&#x76D8;&#x4EA7;&#x54C1;&#x3002;</p>
<p>&#x6301;&#x4E45;&#x5377;&#x7684;&#x7C7B;&#x578B;&#x5F88;&#x591A;&#xFF0C;&#x8FD9;&#x91CC;&#x7B14;&#x8005;&#x5C31;&#x4E0D;&#x4E00;&#x4E00;&#x4E3E;&#x4F8B;&#x4E86;&#xFF0C;&#x7B14;&#x8005;&#x4ECE;&#x5B98;&#x65B9;&#x6587;&#x6863;&#x4E2D;&#x622A;&#x56FE;&#x5982;&#x4E0B;&#xFF1A;</p>
<p><img src="images/pv.types.jpg" alt="pv.types"></p>
<p>&#x672C;&#x7AE0;&#x5C06;&#x4ECB;&#x7ECD;&#x5982;&#x679C;&#x4F7F;&#x7528; NFS &#x642D;&#x5EFA;&#x81EA;&#x5DF1;&#x7684;&#x5206;&#x5E03;&#x5F0F;&#x5B58;&#x50A8;&#x7CFB;&#x7EDF;&#x3002;</p>
<h3 id="&#x521B;&#x5EFA;&#x8FDC;&#x7A0B;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;"><a name="&#x521B;&#x5EFA;&#x8FDC;&#x7A0B;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;" class="anchor-navigation-ex-anchor" href="#&#x521B;&#x5EFA;&#x8FDC;&#x7A0B;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x521B;&#x5EFA;&#x8FDC;&#x7A0B;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;</h3>
<p>&#x8FD9;&#x4E00;&#x6B65;&#x76EE;&#x7684;&#x662F;&#x521B;&#x5EFA;&#x4E91;&#x786C;&#x76D8;&#xFF0C;&#x80FD;&#x591F;&#x4E3A;&#x6240;&#x6709;&#x8282;&#x70B9;&#x63D0;&#x4F9B;&#x5B58;&#x50A8;&#x670D;&#x52A1;&#xFF0C;&#x5373;&#x662F;&#x5206;&#x5E03;&#x5F0F;&#x5B58;&#x50A8;&#xFF0C;&#x6240;&#x6709;&#x8282;&#x70B9;&#x6240;&#x6709; Pod &#x6302;&#x8F7D;&#x540C;&#x4E00;&#x4E2A;&#x5B58;&#x50A8;&#x670D;&#x52A1;&#xFF0C;&#x6240;&#x6709; Pod &#x5411;&#x540C;&#x4E00;&#x4E2A;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;&#x5199;&#x5165;&#x6587;&#x4EF6;&#xFF0C;&#x4E0E;&#x6B64;&#x540C;&#x65F6;&#x8BFB;&#x53D6;&#x7684;&#x662F;&#x6700;&#x65B0;&#x7684;&#x6587;&#x4EF6;&#x5185;&#x5BB9;&#x3002;</p>
<p>&#x5728;&#x4E0A;&#x4E00;&#x7AE0;&#x4E2D;&#x7684;  NFS Server &#x670D;&#x52A1;&#x5668;&#xFF0C;&#x521B;&#x5EFA;&#x4E00;&#x4E2A; <code>/data/volumns</code> &#x76EE;&#x5F55;&#xFF0C;&#x8FD9;&#x4E9B;&#x76EE;&#x5F55;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;&#x7531;&#x4E8E;&#x521B;&#x5EFA;&#x5377;&#x3002;</p>
<p>&#x521B;&#x5EFA; 5 &#x4E2A;&#x5171;&#x4EAB;&#x76EE;&#x5F55;&#xFF1A;</p>
<pre class="language-"><code class="lang-bash"><span class="token function">mkdir</span> /data
<span class="token function">mkdir</span> /data/volumns
<span class="token function">mkdir</span> /data/volumns/1
<span class="token function">mkdir</span> /data/volumns/2
<span class="token function">mkdir</span> /data/volumns/3
<span class="token function">mkdir</span> /data/volumns/4
<span class="token function">mkdir</span> /data/volumns/5
</code></pre>
<pre class="language-"><code class="lang-bash"><span class="token builtin class-name">echo</span> <span class="token string">&quot;/data/volumns/1 *(rw,no_root_squash,sync)&quot;</span> <span class="token operator">&gt;&gt;</span> /etc/exports
<span class="token builtin class-name">echo</span> <span class="token string">&quot;/data/volumns/2 *(rw,no_root_squash,sync)&quot;</span> <span class="token operator">&gt;&gt;</span> /etc/exports
<span class="token builtin class-name">echo</span> <span class="token string">&quot;/data/volumns/3 *(rw,no_root_squash,sync)&quot;</span> <span class="token operator">&gt;&gt;</span> /etc/exports
<span class="token builtin class-name">echo</span> <span class="token string">&quot;/data/volumns/4 *(rw,no_root_squash,sync)&quot;</span> <span class="token operator">&gt;&gt;</span> /etc/exports
<span class="token builtin class-name">echo</span> <span class="token string">&quot;/data/volumns/5 *(rw,no_root_squash,sync)&quot;</span> <span class="token operator">&gt;&gt;</span> /etc/exports
</code></pre>
<p>&#x5237;&#x65B0; NFS &#x670D;&#x52A1;&#x5668;&#x5171;&#x4EAB;&#x76EE;&#x5F55;&#x4FE1;&#x606F;&#xFF1A;</p>
<pre class="language-"><code class="lang-bash">exportfs -r
</code></pre>
<p>&#x67E5;&#x770B;&#x5171;&#x4EAB;&#x76EE;&#x5F55;&#xFF1A;</p>
<pre class="language-"><code class="lang-bash">root@master:~<span class="token comment"># exportfs</span>
/nfs-share        <span class="token operator">&lt;</span>world<span class="token operator">&gt;</span>
/data/volumns/1
        <span class="token operator">&lt;</span>world<span class="token operator">&gt;</span>
/data/volumns/2
        <span class="token operator">&lt;</span>world<span class="token operator">&gt;</span>
/data/volumns/3
        <span class="token operator">&lt;</span>world<span class="token operator">&gt;</span>
/data/volumns/4
        <span class="token operator">&lt;</span>world<span class="token operator">&gt;</span>
/data/volumns/5
        <span class="token operator">&lt;</span>world<span class="token operator">&gt;</span>
</code></pre>
<h3 id="&#x521B;&#x5EFA;&#x5377;"><a name="&#x521B;&#x5EFA;&#x5377;" class="anchor-navigation-ex-anchor" href="#&#x521B;&#x5EFA;&#x5377;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x521B;&#x5EFA;&#x5377;</h3>
<p>&#x8FD9;&#x4E00;&#x6B65;&#x5C06;&#x4F1A;&#x521B;&#x5EFA;&#x6301;&#x4E45;&#x5377; PersistentVolume (PV)&#xFF0C;&#x5176; YAML &#x793A;&#x4F8B;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre class="language-"><code class="lang-yaml"><span class="token key atrule">apiVersion</span><span class="token punctuation">:</span> v1
<span class="token key atrule">kind</span><span class="token punctuation">:</span> PersistentVolume
<span class="token key atrule">metadata</span><span class="token punctuation">:</span>
  <span class="token key atrule">name</span><span class="token punctuation">:</span> pv0001
<span class="token key atrule">spec</span><span class="token punctuation">:</span>
  <span class="token key atrule">capacity</span><span class="token punctuation">:</span>
    <span class="token key atrule">storage</span><span class="token punctuation">:</span> 1Gi
  <span class="token key atrule">volumeMode</span><span class="token punctuation">:</span> Filesystem
  <span class="token key atrule">accessModes</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> ReadWriteOnce
  <span class="token key atrule">persistentVolumeReclaimPolicy</span><span class="token punctuation">:</span> Recycle
  <span class="token key atrule">mountOptions</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> hard
    <span class="token punctuation">-</span> nfsvers=4.1
  <span class="token key atrule">nfs</span><span class="token punctuation">:</span>
    <span class="token key atrule">path</span><span class="token punctuation">:</span> /data/volumns/1
    <span class="token key atrule">server</span><span class="token punctuation">:</span> 10.0.0.4
<span class="token punctuation">---</span>
<span class="token key atrule">apiVersion</span><span class="token punctuation">:</span> v1
<span class="token key atrule">kind</span><span class="token punctuation">:</span> PersistentVolume
<span class="token key atrule">metadata</span><span class="token punctuation">:</span>
  <span class="token key atrule">name</span><span class="token punctuation">:</span> pv0002
<span class="token key atrule">spec</span><span class="token punctuation">:</span>
  <span class="token key atrule">capacity</span><span class="token punctuation">:</span>
    <span class="token key atrule">storage</span><span class="token punctuation">:</span> 2Gi
  <span class="token key atrule">volumeMode</span><span class="token punctuation">:</span> Filesystem
  <span class="token key atrule">accessModes</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> ReadWriteOnce
  <span class="token key atrule">persistentVolumeReclaimPolicy</span><span class="token punctuation">:</span> Recycle
  <span class="token key atrule">mountOptions</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> hard
    <span class="token punctuation">-</span> nfsvers=4.1
  <span class="token key atrule">nfs</span><span class="token punctuation">:</span>
    <span class="token key atrule">path</span><span class="token punctuation">:</span> /data/volumns/2
    <span class="token key atrule">server</span><span class="token punctuation">:</span> 10.0.0.4
<span class="token punctuation">---</span>
<span class="token key atrule">apiVersion</span><span class="token punctuation">:</span> v1
<span class="token key atrule">kind</span><span class="token punctuation">:</span> PersistentVolume
<span class="token key atrule">metadata</span><span class="token punctuation">:</span>
  <span class="token key atrule">name</span><span class="token punctuation">:</span> pv0003
<span class="token key atrule">spec</span><span class="token punctuation">:</span>
  <span class="token key atrule">capacity</span><span class="token punctuation">:</span>
    <span class="token key atrule">storage</span><span class="token punctuation">:</span> 4Gi
  <span class="token key atrule">volumeMode</span><span class="token punctuation">:</span> Filesystem
  <span class="token key atrule">accessModes</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> ReadWriteOnce
  <span class="token key atrule">persistentVolumeReclaimPolicy</span><span class="token punctuation">:</span> Recycle
  <span class="token key atrule">mountOptions</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> hard
    <span class="token punctuation">-</span> nfsvers=4.1
  <span class="token key atrule">nfs</span><span class="token punctuation">:</span>
    <span class="token key atrule">path</span><span class="token punctuation">:</span> /data/volumns/3
    <span class="token key atrule">server</span><span class="token punctuation">:</span> 10.0.0.4
<span class="token punctuation">---</span>
<span class="token key atrule">apiVersion</span><span class="token punctuation">:</span> v1
<span class="token key atrule">kind</span><span class="token punctuation">:</span> PersistentVolume
<span class="token key atrule">metadata</span><span class="token punctuation">:</span>
  <span class="token key atrule">name</span><span class="token punctuation">:</span> pv0004
<span class="token key atrule">spec</span><span class="token punctuation">:</span>
  <span class="token key atrule">capacity</span><span class="token punctuation">:</span>
    <span class="token key atrule">storage</span><span class="token punctuation">:</span> 5Gi
  <span class="token key atrule">volumeMode</span><span class="token punctuation">:</span> Filesystem
  <span class="token key atrule">accessModes</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> ReadWriteOnce
  <span class="token key atrule">persistentVolumeReclaimPolicy</span><span class="token punctuation">:</span> Recycle
  <span class="token key atrule">mountOptions</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> hard
    <span class="token punctuation">-</span> nfsvers=4.1
  <span class="token key atrule">nfs</span><span class="token punctuation">:</span>
    <span class="token key atrule">path</span><span class="token punctuation">:</span> /data/volumns/4
    <span class="token key atrule">server</span><span class="token punctuation">:</span> 10.0.0.4
</code></pre>
<blockquote>
<p>&#x6267;&#x884C; <code>hostname -i</code> &#x547D;&#x4EE4;&#x83B7;&#x53D6; NFS Server &#x670D;&#x52A1;&#x5668;&#x7684; IP&#x3002;&#x8FD9;&#x91CC;&#x6682;&#x65F6;&#x4E0D;&#x521B;&#x5EFA; pv 5&#x3002;</p>
</blockquote>
<p>&#x521B;&#x5EFA; PV&#xFF1A;</p>
<pre class="language-"><code class="lang-bash">root@master:~<span class="token comment"># kubectl apply -f pv.yaml </span>
persistentvolume/pv0001 created
persistentvolume/pv0002 created
persistentvolume/pv0003 created
persistentvolume/pv0004 created
</code></pre>
<p>&#x67E5;&#x770B; PV&#xFF1A;</p>
<pre class="language-"><code class="lang-bash">root@master:~<span class="token comment"># kubectl get pv</span>
NAME     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
pv0001   1Gi        RWO            Recycle          Available                                   42s
pv0002   2Gi        RWO            Recycle          Available                                   42s
pv0003   4Gi        RWO            Recycle          Available                                   42s
pv0004   5Gi        RWO            Recycle          Available                                   42s
</code></pre>
<p>&#x6BCF;&#x4E2A; PV &#x53EF;&#x4EE5;&#x8BBE;&#x5B9A;&#x4E09;&#x79CD; ACCESS MODES&#xFF0C;&#x5373;&#x8BBF;&#x95EE;&#x6A21;&#x5F0F;&#xFF1A;</p>
<ul>
<li><p><code>ReadWriteOnce</code>&#xFF0C;RWO</p>
<p>&#x5377;&#x53EF;&#x4EE5;&#x88AB;&#x4E00;&#x4E2A;&#x8282;&#x70B9;&#x4EE5;&#x8BFB;&#x5199;&#x65B9;&#x5F0F;&#x6302;&#x8F7D;&#xFF0C;&#x5373;&#x53EA;&#x5141;&#x8BB8;&#x88AB;&#x4E00;&#x4E2A;&#x8282;&#x70B9;&#x6302;&#x8F7D;&#x3002;</p>
</li>
<li><p><code>ReadOnlyMany</code>&#xFF0C;ROX</p>
<p>&#x5377;&#x53EF;&#x4EE5;&#x88AB;&#x591A;&#x4E2A;&#x8282;&#x70B9;&#x4EE5;&#x53EA;&#x8BFB;&#x65B9;&#x5F0F;&#x6302;&#x8F7D;&#x3002;</p>
</li>
<li><p><code>ReadWriteMany</code>&#xFF0C;RWX</p>
<p>&#x5377;&#x53EF;&#x4EE5;&#x88AB;&#x591A;&#x4E2A;&#x8282;&#x70B9;&#x4EE5;&#x8BFB;&#x5199;&#x65B9;&#x5F0F;&#x6302;&#x8F7D;&#x3002;</p>
</li>
<li><p><code>ReadWriteOncePod</code>&#xFF0C;RWOP</p>
<p>&#x5377;&#x53EF;&#x4EE5;&#x88AB;&#x5355;&#x4E2A; Pod &#x4EE5;&#x8BFB;&#x5199;&#x65B9;&#x5F0F;&#x6302;&#x8F7D;&#x3002;&#x5373;&#x53EA;&#x80FD;&#x6709;&#x4E00;&#x4E2A;&#x8282;&#x70B9;&#x4E00;&#x4E2A; Pod &#x6302;&#x8F7D;&#x8BBF;&#x95EE;&#x3002;</p>
</li>
</ul>
<h3 id="&#x521B;&#x5EFA;-pvc"><a name="&#x521B;&#x5EFA;-pvc" class="anchor-navigation-ex-anchor" href="#&#x521B;&#x5EFA;-pvc"><i class="fa fa-link" aria-hidden="true"></i></a>&#x521B;&#x5EFA; PVC</h3>
<p>PVC &#x7684; YAML &#x793A;&#x4F8B;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre class="language-"><code class="lang-yaml"><span class="token key atrule">apiVersion</span><span class="token punctuation">:</span> v1
<span class="token key atrule">kind</span><span class="token punctuation">:</span> PersistentVolumeClaim
<span class="token key atrule">metadata</span><span class="token punctuation">:</span>
  <span class="token key atrule">name</span><span class="token punctuation">:</span> pvc3
<span class="token key atrule">spec</span><span class="token punctuation">:</span>
  <span class="token key atrule">accessModes</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> ReadWriteOnce
  <span class="token key atrule">resources</span><span class="token punctuation">:</span>
    <span class="token key atrule">requests</span><span class="token punctuation">:</span>
      <span class="token key atrule">storage</span><span class="token punctuation">:</span> 3Gi
</code></pre>
<p>&#x521B;&#x5EFA;&#x5E76;&#x67E5;&#x770B; PVC &#x72B6;&#x6001;&#xFF1A;</p>
<pre class="language-"><code class="lang-bash">root@master:~<span class="token comment"># kubectl apply -f pvc1.yaml </span>
persistentvolumeclaim/pvc3 created
root@master:~<span class="token comment"># kubectl get pvc</span>
NAME   STATUS    VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc3   Pending                                      manual         1s
</code></pre>
<pre class="language-"><code class="lang-bash">root@master:~<span class="token comment"># kubectl get pvc</span>
NAME   STATUS   VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc3   Bound    pv0003   4Gi        RWO                           5s
</code></pre>
<p>&#x5728;&#x521A;&#x521B;&#x5EFA; PVC &#x65F6;&#xFF0C;&#x5C1A;&#x672A;&#x7ED1;&#x5B9A;&#x5230; PV&#xFF0C;&#x6B64;&#x65F6; PVC &#x5904;&#x4E8E; Pending &#x72B6;&#x6001;&#xFF0C;&#x4E00;&#x65E6;&#x627E;&#x5230;&#x7B26;&#x5408;&#x8981;&#x6C42;&#x7684; PV&#xFF0C;&#x5219; PVC &#x53D8;&#x6210; Bound &#x72B6;&#x6001;&#x3002;</p>
<p>&#x521A;&#x5F00;&#x59CB;&#x6211;&#x4EEC;&#x521B;&#x5EFA; PVC &#x65F6;&#xFF0C;&#x8981;&#x6C42;&#x4F7F;&#x7528;&#x7684;&#x662F; 3GB &#x5B58;&#x50A8;&#x7A7A;&#x95F4;&#xFF0C;&#x5982;&#x679C;&#x67E5;&#x627E;&#x53D1;&#x73B0; PV &#x4E2D;&#x6CA1;&#x6709;&#x521A;&#x597D;&#x7684;&#x5BB9;&#x91CF;&#xFF0C;&#x5219;&#x4F1A;&#x4F7F;&#x7528;&#x7A0D;&#x5927;&#x7684; PV &#x5377;&#x3002;</p>
<p>&#x6B64;&#x65F6;&#x6211;&#x4EEC;&#x518D;&#x67E5;&#x770B; PV &#xFF1A;</p>
<pre class="language-"><code class="lang-bash">root@master:~<span class="token comment"># kubectl get pv pv0003</span>
NAME     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM          STORAGECLASS   REASON   AGE
pv0003   4Gi        RWO            Recycle          Bound       default/pvc3                           5m46s
</code></pre>
<p>&#x53EF;&#x4EE5;&#x770B;&#x5230;&#xFF0C;&#x5B83;&#x6B63;&#x5728;&#x88AB; pvc3 &#x4F7F;&#x7528;&#x3002;</p>
<p>PV &#x6709;&#x4EE5;&#x4E0B;&#x56DB;&#x79CD;&#x72B6;&#x6001;&#xFF1A;</p>
<ul>
<li>Available&#xFF08;&#x53EF;&#x7528;&#xFF09;&#x5C1A;&#x672A;&#x7ED1;&#x5B9A;&#x5230;&#x4EFB;&#x4F55; PVC&#xFF1B;</li>
<li>Bound&#xFF08;&#x5DF2;&#x7ED1;&#x5B9A;&#xFF09;&#x5DF2;&#x88AB;&#x67D0; PVC &#x7ED1;&#x5B9A;&#xFF1B;</li>
<li>Released&#xFF08;&#x5DF2;&#x91CA;&#x653E;&#xFF09;PVC &#x5DF2;&#x88AB;&#x5220;&#x9664;&#xFF0C;&#x4F46; PV &#x8FD8;&#x6CA1;&#x6709;&#x88AB;&#x56DE;&#x6536;&#xFF1B;</li>
<li>Failed&#xFF08;&#x5931;&#x8D25;&#xFF09;&#x5377;&#x7684;&#x81EA;&#x52A8;&#x56DE;&#x6536;&#x64CD;&#x4F5C;&#x5931;&#x8D25;&#x3002;</li>
</ul>
<h3 id="&#x5728;-pod-&#x4E2D;&#x4F7F;&#x7528;&#x5377;"><a name="&#x5728;-pod-&#x4E2D;&#x4F7F;&#x7528;&#x5377;" class="anchor-navigation-ex-anchor" href="#&#x5728;-pod-&#x4E2D;&#x4F7F;&#x7528;&#x5377;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x5728; Pod &#x4E2D;&#x4F7F;&#x7528;&#x5377;</h3>
<p>&#x4F8B;&#x5982;&#x8981;&#x5728; Nginx Pod &#x4E2D;&#x4F7F;&#x7528;&#x5377;&#x5B58;&#x50A8;&#x9759;&#x6001;&#x9875;&#x9762;&#xFF0C;&#x5C06; pvc3 &#x6620;&#x5C04;&#x5230; Pod &#x4E2D;&#xFF0C;YAML &#x6587;&#x4EF6;&#x793A;&#x4F8B;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre class="language-"><code class="lang-yaml"><span class="token key atrule">apiVersion</span><span class="token punctuation">:</span> v1
<span class="token key atrule">kind</span><span class="token punctuation">:</span> Pod
<span class="token key atrule">metadata</span><span class="token punctuation">:</span>
  <span class="token key atrule">name</span><span class="token punctuation">:</span> pvcpod
<span class="token key atrule">spec</span><span class="token punctuation">:</span>
  <span class="token key atrule">containers</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> <span class="token key atrule">name</span><span class="token punctuation">:</span> pvctest
      <span class="token key atrule">image</span><span class="token punctuation">:</span> nginx
      <span class="token key atrule">volumeMounts</span><span class="token punctuation">:</span>
      <span class="token punctuation">-</span> <span class="token key atrule">mountPath</span><span class="token punctuation">:</span> <span class="token string">&quot;/usr/share/nginx/html&quot;</span>
        <span class="token key atrule">name</span><span class="token punctuation">:</span> mypd
  <span class="token key atrule">volumes</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> <span class="token key atrule">name</span><span class="token punctuation">:</span> mypd
      <span class="token key atrule">persistentVolumeClaim</span><span class="token punctuation">:</span>
        <span class="token key atrule">claimName</span><span class="token punctuation">:</span> pvc3
</code></pre>
<blockquote>
<p>&#x7B14;&#x8005;&#x6D4B;&#x8BD5;&#x53D1;&#x73B0;&#x7B14;&#x8005;&#x4F7F;&#x7528;&#x7684; Nginx &#x955C;&#x50CF;&#x9ED8;&#x8BA4;&#x6587;&#x4EF6;&#x4F4D;&#x7F6E;&#x662F; <code>/usr/share/nginx/html</code>&#xFF0C;&#x6709;&#x7684;&#x53EF;&#x80FD;&#x662F; <code>/var/www/html</code> &#x3002;</p>
<p>&#x8BFB;&#x8005;&#x90E8;&#x7F72; Pod &#x540E;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <code>kubectl exec pvcpod -- cat /etc/nginx/conf.d/default.conf</code> &#x547D;&#x4EE4;&#x67E5;&#x770B;&#x9759;&#x6001;&#x6587;&#x4EF6;&#x653E;&#x5728;&#x54EA;&#x4E2A;&#x4F4D;&#x7F6E;&#x3002;</p>
</blockquote>
<p>&#x521B;&#x5EFA; Pod &#x540E;&#xFF0C;&#x6253;&#x5F00; NFS Server &#x7684; <code>/data/volumns/3</code> &#x76EE;&#x5F55;&#xFF0C;&#x751F;&#x6210;&#x4E00;&#x4E2A; index.html &#x6587;&#x4EF6;&#xFF1A;</p>
<pre class="language-"><code class="lang-bash"><span class="token builtin class-name">echo</span> <span class="token string">&apos;&lt;h1 style=&quot;color:blue&quot;&gt;&#x75F4;&#x8005;&#x5DE5;&#x826F;&lt;/h1&gt;&apos;</span> <span class="token operator">&gt;</span> index.html
</code></pre>
<p>&#x67E5;&#x770B; Pod &#x7684; IP&#xFF1A;</p>
<pre class="language-"><code class="lang-bash">root@master:/data/volumns/3<span class="token comment"># kubectl get pod -o wide</span>
NAME                       READY   STATUS             RESTARTS          AGE     IP           NODE     NOMINATED NODE   READINESS
pvcpod                     <span class="token number">1</span>/1     Running            <span class="token number">0</span>                 3m11s   <span class="token number">10.32</span>.0.21   slave1   <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>           <span class="token operator">&lt;</span>none<span class="token operator">&gt;</span>
</code></pre>
<p>&#x67E5;&#x770B; Pod &#x4E2D;&#x7684;&#x6587;&#x4EF6;&#xFF1A;</p>
<pre class="language-"><code class="lang-bash">root@master:/data/volumns/3<span class="token comment"># kubectl exec pvcpod -- ls /var/www/html</span>
index.html
root@master:/data/volumns/3<span class="token comment"># kubectl exec pvcpod -- cat /var/www/html/index.html</span>
<span class="token operator">&lt;</span>h1 <span class="token assign-left variable">style</span><span class="token operator">=</span>color:blue<span class="token operator">&gt;</span>&#x75F4;&#x8005;&#x5DE5;&#x826F;<span class="token operator">&lt;</span>/h<span class="token operator"><span class="token file-descriptor important">1</span>&gt;</span>
</code></pre>
<p>&#x8BBF;&#x95EE;&#x6B64; Pod&#xFF1A;</p>
<pre class="language-"><code class="lang-bash">root@master:~<span class="token comment"># curl 10.32.0.21</span>
<span class="token operator">&lt;</span>h1 <span class="token assign-left variable">style</span><span class="token operator">=</span>color:blue<span class="token operator">&gt;</span>&#x75F4;&#x8005;&#x5DE5;&#x826F;<span class="token operator">&lt;</span>/h<span class="token operator"><span class="token file-descriptor important">1</span>&gt;</span>
</code></pre>
<h3 id="storageclass"><a name="storageclass" class="anchor-navigation-ex-anchor" href="#storageclass"><i class="fa fa-link" aria-hidden="true"></i></a>StorageClass</h3>
<p>PV &#x548C; PVC &#x90FD;&#x662F;&#x53EF;&#x4EE5;&#x5206;&#x7C7B;&#x7684;&#xFF0C;&#x53EA;&#x6709;&#x5177;&#x6709;&#x76F8;&#x540C;&#x540D;&#x79F0;&#x7684; storageClassName &#x5B57;&#x6BB5;&#xFF0C;PV &#x548C; PVC &#x624D;&#x80FD;&#x7ED1;&#x5B9A;&#x8D77;&#x6765;&#x3002;&#x5177;&#x6709;   storageClassName &#x5B57;&#x6BB5;&#x7684; PV &#x548C; PVC &#x793A;&#x4F8B;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre class="language-"><code class="lang-yaml"><span class="token key atrule">apiVersion</span><span class="token punctuation">:</span> v1
<span class="token key atrule">kind</span><span class="token punctuation">:</span> PersistentVolume
<span class="token key atrule">metadata</span><span class="token punctuation">:</span>
  <span class="token key atrule">name</span><span class="token punctuation">:</span> pv0004
<span class="token key atrule">spec</span><span class="token punctuation">:</span>
  <span class="token key atrule">capacity</span><span class="token punctuation">:</span>
    <span class="token key atrule">storage</span><span class="token punctuation">:</span> 5Gi
  <span class="token key atrule">volumeMode</span><span class="token punctuation">:</span> Filesystem
  <span class="token key atrule">accessModes</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> ReadWriteOnce
  <span class="token key atrule">persistentVolumeReclaimPolicy</span><span class="token punctuation">:</span> Recycle
  <span class="token key atrule">storageClassName</span><span class="token punctuation">:</span> shop
  <span class="token key atrule">mountOptions</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> hard
    <span class="token punctuation">-</span> nfsvers=4.1
  <span class="token key atrule">nfs</span><span class="token punctuation">:</span>
    <span class="token key atrule">path</span><span class="token punctuation">:</span> /data/volumns/4
    <span class="token key atrule">server</span><span class="token punctuation">:</span> 10.0.0.4
</code></pre>
<pre class="language-"><code class="lang-yaml"><span class="token key atrule">apiVersion</span><span class="token punctuation">:</span> v1
<span class="token key atrule">kind</span><span class="token punctuation">:</span> PersistentVolumeClaim
<span class="token key atrule">metadata</span><span class="token punctuation">:</span>
  <span class="token key atrule">name</span><span class="token punctuation">:</span> pvc5
<span class="token key atrule">spec</span><span class="token punctuation">:</span>
  <span class="token key atrule">storageClassName</span><span class="token punctuation">:</span> shop
  <span class="token key atrule">accessModes</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> ReadWriteOnce
  <span class="token key atrule">resources</span><span class="token punctuation">:</span>
    <span class="token key atrule">requests</span><span class="token punctuation">:</span>
      <span class="token key atrule">storage</span><span class="token punctuation">:</span> 5Gi
</code></pre>
<pre class="language-"><code class="lang-bash">root@master:~<span class="token comment"># kubectl get pv</span>
NAME     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
pv0004   5Gi        RWO            Recycle          Available           slow                    42s
</code></pre>
<p>&#x5F53; PVC &#x8BBE;&#x7F6E;&#x4E86; storageClassName &#x65F6;&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x76F8;&#x540C; storageClassName &#x540D;&#x79F0;&#x7684; PV&#xFF0C;&#x90A3;&#x4E48; PVC &#x4F1A;&#x4E00;&#x76F4;&#x5904;&#x4E8E; Pending &#x72B6;&#x6001;&#xFF0C;&#x5176;&#x5B9E;&#x65E9;&#x5DF2;&#x5931;&#x8D25;&#xFF1A;</p>
<pre class="language-"><code>Events:
  Type     Reason              Age                   From                         Message
  ----     ------              ----                  ----                         -------
  Warning  ProvisioningFailed  4m37s (x42 over 14m)  persistentvolume-controller  storageclass.storage.k8s.io &quot;manual&quot; not found
</code></pre><p>&#x5728; PV &#x7684; persistentVolumeReclaimPolicy &#x5B57;&#x6BB5;&#x53EF;&#x4EE5;&#x8BBE;&#x7F6E;&#x5F53; PVC &#x88AB;&#x5220;&#x9664;&#x540E;&#xFF0C;PV &#x5982;&#x4F55;&#x5904;&#x7406;&#xFF0C;persistentVolumeReclaimPolicy &#x53EF;&#x4EE5;&#x8BBE;&#x7F6E;  Retaine(&#x4FDD;&#x7559;)&#x3001;Recycle(&#x56DE;&#x6536;)&#x6216; Delete(&#x5220;&#x9664;)&#x4E09;&#x79CD;&#x7C7B;&#x578B;&#x3002;&#x5982;&#x679C;&#x4F7F;&#x7528;&#x4E86; Recycle &#x7C7B;&#x578B;&#xFF0C;&#x90A3;&#x4E48;&#x5F53; PVC &#x88AB;&#x5220;&#x9664;&#x540E;&#xFF0C;&#x6B64; PV &#x9A6C;&#x4E0A;&#x53EF;&#x88AB;&#x522B;&#x7684; PVC &#x4F7F;&#x7528;&#x3002;&#x5982;&#x679C;&#x662F; Retaine &#x7C7B;&#x578B;&#xFF0C;PV &#x4F1A;&#x88AB;&#x4FDD;&#x7559;&#x4E0B;&#x6765;&#xFF0C;&#x4F46;&#x662F;&#x4E0D;&#x80FD;&#x88AB; PVC &#x7ED1;&#x5B9A;&#xFF0C;&#x6B64;&#x5BF9;&#x8C61;&#x5DF2;&#x7ECF;&#x4E0D;&#x53EF;&#x7528;&#xFF0C;&#x53EF;&#x4EE5;&#x624B;&#x52A8;&#x5220;&#x9664; PV &#x5BF9;&#x8C61;&#xFF0C;&#x5F53;&#x7136;&#xFF0C;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;&#x6587;&#x4EF6;&#x4F1A;&#x4FDD;&#x7559;&#x3002;&#x5982;&#x679C;&#x4F7F;&#x7528;&#x4E86; Delete &#x6A21;&#x5F0F;&#xFF0C;&#x5219;&#x8981;&#x5C24;&#x5176;&#x6CE8;&#x610F;&#xFF0C;&#x56E0;&#x4E3A;&#x5220;&#x9664;&#x4E86; PVC&#xFF0C;PV &#x4F1A;&#x88AB;&#x81EA;&#x52A8;&#x5220;&#x9664;&#xFF0C;&#x5E76;&#x4E14;&#xFF0C;&#x8FD8;&#x53EF;&#x80FD;&#x4F1A;&#x5220;&#x9664;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;&#x7684;&#x6587;&#x4EF6;&#xFF0C;&#x4F1A;&#x4E0D;&#x4F1A;&#x5220;&#x9664;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;&#x7684;&#x6587;&#x4EF6;&#xFF0C;&#x8981;&#x770B; PV &#x7684;&#x5B58;&#x50A8;&#x7A7A;&#x95F4;&#x662F;&#x4EC0;&#x4E48;&#x7C7B;&#x578B;&#x7684;&#x3002;</p>
<p>&#x4F7F;&#x7528; <code>kubectl edit pv pv0003</code> &#x4FEE;&#x6539;&#x4E0A;&#x9762;&#x7684; PV3 &#x7684; YAML &#x6587;&#x4EF6;&#xFF1A;</p>
<pre class="language-"><code class="lang-yaml">  <span class="token key atrule">nfs</span><span class="token punctuation">:</span>
    <span class="token key atrule">path</span><span class="token punctuation">:</span> /data/volumns/3
    <span class="token key atrule">server</span><span class="token punctuation">:</span> 10.0.0.4
  <span class="token key atrule">persistentVolumeReclaimPolicy</span><span class="token punctuation">:</span> Delete
  <span class="token key atrule">volumeMode</span><span class="token punctuation">:</span> Filesystem
</code></pre>
<p>&#x5220;&#x9664; PVC&#xFF1A;</p>
<pre class="language-"><code>root@master:~# kubectl delete pvc pvc3
persistentvolumeclaim &quot;pvc3&quot; deleted
</code></pre><p>&#x67E5;&#x770B; PV&#x3001;PVC&#xFF1A;</p>
<pre class="language-"><code>root@master:~# kubectl get pvc
NAME   STATUS        VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc3   Terminating   pv0003   4Gi        RWO                           43m

root@master:~# kubectl get pv
NAME     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM          STORAGECLASS   REASON   AGE
pv0001   1Gi        RWO            Recycle          Available                                          43m
pv0002   2Gi        RWO            Recycle          Available                                          43m
pv0003   4Gi        RWO            Delete           Bound       default/pvc3                           43m
</code></pre><h3 id="&#x5176;&#x4ED6;&#x7C7B;&#x578B;&#x7684;-pv-&#x5377;"><a name="&#x5176;&#x4ED6;&#x7C7B;&#x578B;&#x7684;-pv-&#x5377;" class="anchor-navigation-ex-anchor" href="#&#x5176;&#x4ED6;&#x7C7B;&#x578B;&#x7684;-pv-&#x5377;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x5176;&#x4ED6;&#x7C7B;&#x578B;&#x7684; PV &#x5377;</h3>
<p>PV &#x652F;&#x6301; hostPath &#x7B49;&#x5176;&#x4ED6;&#x7C7B;&#x578B;&#x7684;&#x5377;&#xFF0C;&#x4F46;&#x662F;&#x914D;&#x7F6E;&#x4E0A;&#x8DDF; Volume &#x4E0D;&#x592A;&#x4E00;&#x6837;&#x3002;</p>
<p>PersistentVolume &#x793A;&#x4F8B;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre class="language-"><code class="lang-yaml">  <span class="token key atrule">storageClassName</span><span class="token punctuation">:</span> manual
  <span class="token key atrule">capacity</span><span class="token punctuation">:</span>
    <span class="token key atrule">storage</span><span class="token punctuation">:</span> 10Gi
  <span class="token key atrule">accessModes</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> ReadWriteOnce
  <span class="token key atrule">hostPath</span><span class="token punctuation">:</span>
    <span class="token key atrule">path</span><span class="token punctuation">:</span> <span class="token string">&quot;/mnt/data&quot;</span>
</code></pre>
<p>Volume &#x793A;&#x4F8B;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre class="language-"><code class="lang-yaml">  <span class="token key atrule">volumes</span><span class="token punctuation">:</span>
  <span class="token punctuation">-</span> <span class="token key atrule">name</span><span class="token punctuation">:</span> test<span class="token punctuation">-</span>volume
    <span class="token key atrule">hostPath</span><span class="token punctuation">:</span>
      <span class="token comment"># &#x5BBF;&#x4E3B;&#x4E0A;&#x76EE;&#x5F55;&#x4F4D;&#x7F6E;</span>
      <span class="token key atrule">path</span><span class="token punctuation">:</span> /data
</code></pre>
<p>&#x8FD8;&#x6709;&#x5176;&#x4ED6;&#x7C7B;&#x578B;&#x7684; PV &#x5377;&#xFF0C;&#x8BF7;&#x8BFB;&#x8005;&#x81EA;&#x884C;&#x67E5;&#x9605;&#x5B98;&#x65B9;&#x6587;&#x6863;&#x3002;</p>
<blockquote>
<p><strong>[Info] &#x63D0;&#x793A;</strong></p>
<p>&#x8FD9;&#x4FBF;&#x662F;&#x4F7F;&#x7528; PV&#x3001;PVC &#x7684;&#x597D;&#x5904;&#x4E4B;&#x4E00;&#xFF0C;Pod &#x53EA;&#x9700;&#x8981;&#x4F7F;&#x7528;&#x76F8;&#x5E94;&#x7684; PVC &#x5377;&#x58F0;&#x660E;&#x5373;&#x53EF;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x77E5;&#x9053;&#x4F7F;&#x7528;&#x4E86;&#x4F55;&#x79CD;&#x78C1;&#x76D8;&#x3001;&#x4F55;&#x79CD;&#x6280;&#x672F;&#x3002;</p>
</blockquote>
<footer class="page-footer"><span class="copyright">Copyright &#xA9; &#x75F4;&#x8005;&#x5DE5;&#x826F; 2021 all right reserved&#xFF0C;powered by Gitbook</span><span class="footer-modification">&#x6587;&#x6863;&#x6700;&#x540E;&#x66F4;&#x65B0;&#x65F6;&#x95F4;&#xFF1A;
2021-11-17 07:20:17
</span></footer>
<script>console.log("plugin-popup....");document.onclick = function(e){ e.target.tagName === "IMG" && window.open(e.target.src,e.target.src)}</script><style>img{cursor:pointer}</style>
                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="3.nfts.html" class="navigation navigation-prev " aria-label="Previous page: 5.3 NFS卷">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="../6.api_safe/" class="navigation navigation-next " aria-label="Next page: 6.API 和 安全">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"5.4 持久化卷","level":"1.6.5","depth":2,"next":{"title":"6.API 和 安全","level":"1.7","depth":1,"path":"6.api_safe/README.md","ref":"6.api_safe/README.md","articles":[{"title":"导读","level":"1.7.1","depth":2,"path":"6.api_safe/README.md","ref":"6.api_safe/README.md","articles":[]}]},"previous":{"title":"5.3 NFS卷","level":"1.6.4","depth":2,"path":"5.volumes/3.nfts.md","ref":"5.volumes/3.nfts.md","articles":[]},"dir":"ltr"},"config":{"plugins":["tbfed-pagefooter","anchor-navigation-ex","mermaid-gb3","insert-logo","chapter-fold","advanced-emoji","github","splitter","alerts","popup","prism","-highlight","livereload"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"tbfed-pagefooter":{"copyright":"Copyright &copy 痴者工良 2021","modify_label":"文档最后更新时间：","modify_format":"YYYY-MM-DD HH:mm:ss"},"chapter-fold":{},"prism":{"lang":{"flow":"typescript","shell":"bash"},"ignore":["mermaid","eval-js"],"css":["prismjs/themes/prism.css"],"js":["prismjs/prism.js","prismjs/components.js","prismjs/components/prism-go.min.js","prismjs/components/prism-yaml.min.js","prismjs/components/prism-bash.min.js","prismjs/components/prism-shell-session.min.js"]},"github":{"url":"https://github.com/whuanle/kubernetes"},"livereload":{},"splitter":{},"search":{},"popup":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"fontsettings":{"theme":"white","family":"sans","size":2},"mermaid-gb3":{},"anchor-navigation-ex":{"associatedWithSummary":true,"float":{"floatIcon":"fa fa-navicon","level1Icon":"","level2Icon":"","level3Icon":"","showLevelIcon":false},"mode":"float","multipleH1":true,"pageTop":{"level1Icon":"","level2Icon":"","level3Icon":"","showLevelIcon":false},"printLog":false,"showGoTop":false,"showLevel":false},"alerts":{},"advanced-emoji":{"embedEmojis":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"insert-logo":{"style":"background: none; max-height: 50px; min-height: 50px","url":"/images/logo.jpg"}},"theme":"default","author":"痴者工良","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Kubernetes - 痴者工良","language":"zh-hans","links":{"sidebar":{"痴者工良的博客":"https://www.whuanle.cn"}},"gitbook":"*","description":"这是一本关于 Kubernetes 的书，作者 痴者工良"},"file":{"path":"5.volumes/4.pv_pvc.md","mtime":"2021-11-16T23:20:17.268Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2021-11-16T23:21:22.294Z"},"basePath":"..","book":{"language":""}});
        });
    </script>
</div>

        
    
    <script src="../gitbook/gitbook.js"></script>
    <script src="../gitbook/theme.js"></script>
    
        
        <script src="../gitbook/gitbook-plugin-mermaid-gb3/book/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-insert-logo/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-chapter-fold/chapter-fold.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-github/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-splitter/splitter.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-alerts/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-livereload/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    <script src="../gitbook/gitbook-plugin-mermaid-gb3/mermaid/mermaid.min.js"></script>

    </body>
</html>

